Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Створення DLL та їх використання при неявному зв’язування на мові C

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування та операційні системи

Частина тексту файла

Міністерство освіти і науки Національний університет “Львівська політехніка” Кафедра ЕОМ / Звіт з лабораторної роботи № 6 з дисципліни: “Системне програмування” на тему: “Створення DLL та їх використання при неявному зв’язування на мові C” Мета лабораторної роботи Ознайомитись з технологією та оволодіти навиками створення та використання бібліотек динамічного компонування з використанням неявного зв’язування. Теоретичні відомості Завершальним етапом створення програмного продукту є процес збирання (компонування) завантажувального модуля (.exe – файлу). Компонуванням (linking) називають процес створення фізичного або логічного виконуваного файлу (модуля) із набору об’єктних файлів бібліотек для подальшого виконання або під час виконання і вирішення проблеми неоднозначності імен, що виникає при цьому. У разі створення фізичного виконуваного файлу для подальшого виконання компонування називають статичним, коли у такому файлі міститься все потрібне для виконання програми. У випадку створення логічного виконуваного файлу під час виконання програми компонування називають динамічним, у цьому випадку образ виконуваного модуля збирають “на ходу”. Індивідуальне завдання 29. Ввести рядок тексту та два окремі символи. Вилучити з вхідного рядка всі другі символи після того як зустрінеться перший символ. Вивести новий рядок на екран. Код програми .dll dlltest.h #ifndef _DLLTEST_H_ #define _DLLTEST_H_ extern "C" __declspec(dllexport) void char_delete(char *, char, char); #endif // _DLLTEST_H_ dlltest.cpp #include <iostream> #include "dlltest.h" extern "C" __declspec(dllexport) void char_delete(char *str, char char1, char char2) { for (int i = 0; str[i]; ++i) if (str[i] == char1) { const int begin = i + 1; const int length = strlen(str); while (++i < length) for (int j = begin; str[j] && str[j - 1]; ++j) if (str[j] == char2) std::swap(str[j], str[j + 1]); break; } } .exe dlltest.h #ifndef _DLLTEST_H_ #define _DLLTEST_H_ extern "C" __declspec(dllexport) void char_delete(char *, char, char); #endif // _DLLTEST_H_ main.cpp #include <iostream> #include <conio.h> #include "dlltest.h" #define BUFFER 1024 void main() { std::cout << "Enter a string and two characters:" << std::endl; char str[BUFFER]; char char1, char2; std::cin.getline(str, BUFFER); std::cin >> char1 >> char2; char_delete(str, char1, char2); std::cout << str << std::endl; _getch(); } Результат виконання програми / / / Висновок Я ознайомився з технологією та оволодів навиками створення та використання бібліотек динамічного компонування з використанням неявного зв’язування.
Антиботан аватар за замовчуванням

07.05.2017 14:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини